home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_10 / allison / arglist3.cpp < prev    next >
C/C++ Source or Header  |  1994-09-06  |  557b  |  28 lines

  1. LISTING 18
  2. #include <fstream.h>
  3. #include "arglist3.h"
  4.  
  5. Arglist::Arglist(size_t arg_count, char **arg_vec)
  6.        : args(arg_count,0,CHUNK)
  7. {
  8.     for (int i = 0; i < arg_count; ++i)
  9.         if (arg_vec[i][0] == '@')
  10.             expand(arg_vec[i]+1);
  11.         else
  12.             add(arg_vec[i]);
  13. }
  14.  
  15. void Arglist::expand(char *fname)
  16. {
  17.     ifstream f(fname);
  18.     const size_t BUFSIZ = 64;
  19.     char token[BUFSIZ];
  20.  
  21.     while (f >> token)
  22.         if (token[0] == '@')
  23.             expand(token+1);
  24.         else
  25.             add(token);
  26. }
  27.  
  28.